Next.js template
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

[dataId].js 785B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { connectToDatabase } from '../../../utils/helpers/dbHelpers';
  2. async function handler(req, res) {
  3. if (req.method !== 'GET') {
  4. return;
  5. }
  6. const dataId = req.query.dataId;
  7. let client;
  8. try {
  9. client = await connectToDatabase();
  10. } catch (error) {
  11. res.status(500).json({ message: 'Connecting to the database failed!' });
  12. return;
  13. }
  14. const db = client.db();
  15. const singleData = await db
  16. .collection('randomData')
  17. .findOne({ customID: dataId });
  18. if (!singleData) {
  19. res.status(422).json({ message: 'No data!' });
  20. client.close();
  21. return;
  22. }
  23. res.status(201).json({
  24. message: 'Fetch single data successfull!',
  25. singleData: singleData,
  26. });
  27. setTimeout(() => {
  28. client.close();
  29. }, 1500);
  30. }
  31. export default handler;